<?php

session_start();
require_once '../src/MyDBi.php';
include "../includes/vars.php";



$db = new MysqliDb();

$type = $_POST["type"];

if ($type == 1) {
// Abre Caja

    $idusuario = $_POST["idusuario"];
    $saldoinicial = $_POST["saldoinicial"];


    $SQL = "insert into cajas select max(IdCaja) + 1, now(), " . $idusuario . ", (select max(IdMovimiento) +1 from movimientos),"
            . " -1, " . $saldoinicial . " from cajas;";

    $id = $db->rawQuery($SQL);

//    $result = $query["status"];
    if ($id != -1) {
        echo 1;
        $_SESSION['ha_idcaja'] = 1;
    } else {
        echo $db->getLastError();
    }
} elseif ($type == 0) {
// Verifica estado de la caja

    $db->where('IdMovimientoCierre', -1);
    $results = $db->get('cajas');

    if ($db->count > 0) {
        $_SESSION['ha_idcaja'] = 1;
        echo 1;
    } else {
        $_SESSION['ha_idcaja'] = -1;
        echo -1;
    }
} elseif ($type == 2) {
// Trae ultima apertura de caja y devuelve los datos
    $db->where('IdMovimientoCierre', -1);
    $results = $db->get('cajas');
    

//print_r($query['sql']);
    if ($db->count > 0) {
        foreach ($results as $row){
            echo $row["IdCaja"] . " " . $row["IdUsuario"] . " " . $row["IdMovimientoInicio"] . " " . $row["IdMovimientoCierre"] . " " . $row["SaldoInicial"]; 
        }
    } else {
        echo "El dato no ha sido borrado";
    }
} elseif ($type == 3) {
// Obtengo saldo inicial
    $results = $db->rawQuery("select sum(Importe) saldoInicial from movimientos where IdMoneda = " . $monedaPesos . " "
            . "and IdMovimiento>= (select max(IdMovimientoInicio) from cajas) and IdCuenta = '" . $cuentaCaja . "'");

    if ($db->count > 0) {
        foreach ($results as $row) {
            echo $row["saldoInicial"];
        }
    } else {
        echo "0";
    }
} elseif ($type == 4) {
//    Traigo valores por moneda

    $results = $db->rawQuery("select IdMoneda, (Select Name from monedas m where m.IdMoneda = mo.IdMoneda) Nombre, 
        sum(ImporteMoneda) saldo from movimientos mo where
        IdMovimiento>= (select max(IdMovimientoInicio) from cajas) and IdCuenta = '" . $cuentaCaja . "'
        group by IdMoneda;");

    if ($db->count > 0) {
        echo '<table>';
        foreach ($results as $row) {
            echo '<tr><td>' . $row['IdMoneda'] . " " . $row['Nombre'] . '</td>'
            . '<td><label id="E' . $row['IdMoneda'] . '" >' . $row['saldo'] . '</label></td>'
            . '<td><input type="text" id="R' . $row['IdMoneda'] . '" value="' . $row['saldo'] . '"  class="generalInput"/></td>';
        }
        echo '</table>';
    } else {
        echo "0";
    }
} elseif ($type == 5) {
//    Cierro la caja
//    $data = Array(
//        'IdMovimientoCierre' => '(Select max(IdMovimiento) from movimientos)');
//    $db->where('IdMovimientoCierre', '-1');

    
     $results = $db->rawQuery("update cajas set IdMovimientoCierre = (Select max(IdMovimiento) from movimientos) where IdMovimientoCierre = -1;");
    
    
//    if ($db->update('cajas', $data)) {
    if (strlen($db->getLastError())  == 1) {
        echo "Caja Cerrada";
    } else {
        echo $db->getLastError();
    }
} elseif ($type == 6) {
// Verifica estado de la caja


    $results = $db->rawQuery("select sum(Importe) importe from movimientos where 
        IdMovimiento >= (select max(IdMovimientoInicio) from cajas where IdMovimientoCierre = -1) and IdCuenta = '1.1.1.01';");

    if ($db->count > 0) {
        foreach ($results as $row) {
            echo $row["importe"];
        }
    } else {
        echo '0';
    }
}
?>